package com.mcxx.modules.miniSalvation.salary.dao.read;

import com.mcxx.modules.miniSalvation.order.dto.OrderMemberSalaryDTO;
import com.mcxx.modules.miniSalvation.salary.dto.FamilyMemberSalaryDTO;
import com.mcxx.modules.miniSalvation.salary.dto.MemberSalaryDTO;
import com.mcxx.modules.miniSalvation.salary.entity.MemberSalaryEntity;
import com.yinhai.ta404.module.mybatis.mapper.Ta404SupportMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface MemberSalaryReadDao extends Ta404SupportMapper {


	List<MemberSalaryEntity> queryMemberSumSalaryByOrderId(String id);


	List<MemberSalaryEntity> queryMemberItemSalaryByOrderId(String id);


	List<FamilyMemberSalaryDTO> getMemberByFamilyId(String familyId, String isSaveObject);


	List<MemberSalaryEntity> selectMemberBufaSalaryCurrMonth(Map<String, String> params);


	List<MemberSalaryDTO> listMemberSalary(String familyId, String orderId, String isSaveObject);


	List<MemberSalaryDTO> listMemberSalaryRecheck(String familyId, String orderId, String isSaveObject);


	List<MemberSalaryDTO> listMemberSalaryHouseholdSuspend(String familyId, String orderId, String isSaveObject);

	Integer queryMemberSalaryExist(@Param("memberId") String memberId, @Param("nowMonth") String nowMonth);


	Integer getMemberSalaryExistByOrderId(@Param("memberId") String memberId, @Param("nowMonth") String nowMonth, @Param("orderId") String orderId);


	List<MemberSalaryDTO> listMemberSalaryHistory(String orderId,String sendMonth);


	List<FamilyMemberSalaryDTO> getMemberHistorySalary(String familyId, String orderId, String areaCode);


	List<FamilyMemberSalaryDTO> selectMemberSalaryByMemberId(@Param("memberId") String memberId,
														   @Param("businessType") String businessType,
														   @Param("areaCode") String areaCode,
														   @Param("month") String month);


	List<MemberSalaryDTO> selectMemberSalary(String familyId,String orderId);


	String getMemberSalaryMaxDate(@Param("orderId") String orderId,
															 @Param("memberId") String memberId,
															 @Param("businessType") String businessType);


	List<MemberSalaryEntity> queryMemberSalaryByOrderId(String id);
}
